package com.iris.live.services.data.repositories;

import com.iris.live.services.models.PageData;
import com.iris.live.services.models.ResultData;
import com.iris.live.services.services.CarService;
import org.springframework.data.repository.NoRepositoryBean;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * Created by sxy on 2016/8/1.
 */
@NoRepositoryBean
public interface CarRepository {

    List getCarDetail(CarService.GetCarDetailRequest request);

    List getCarType(CarService.GetCarDetailRequest request);

    List getCarLevel(CarService.GetCarDetailRequest request);

    List getCarBrand(CarService.GetCarDetailRequest request);

    List getAllCar(List<String> brands,String permit);

    List getAllModel(List<String> brands,String permit);

    int getCarNumber(CarService.GetCarNumberRequest request);

    List getLshStoreByProIdAndPermit(String proId, String permit);

    List getCurrCarStatus(String permit);

    boolean IsUpdateCarType(CarService.getCarDetailBatchAlls vars);

    List IsUpdateCarTypeList(CarService.getCarDetailBatchAlls vars);

    PageData getCarDetailBatchAlls(CarService.getCarDetailBatchAlls req, String permit, String postman);

    List getCarDetailBatchAllsIsItem(CarService.getCarDetailBatchAlls req, String permit, String postman);

    boolean getCarDetailBatchByVariant(String vars);


    List getListByBrandAndOrigin(String brand, String origin);

    List getListByBrandAndOrigins(String brand, String origin);

    List getListByBrandAndOriginAndcarClass(String brand, String origin, String carclass);

    List getListByBrandAndOriginAndcarClasss(String brand, String origin, String carclass);

    List getListByBrandAndOriginCarclassAndCarModel(String brand, String origin, String carclass, String carmodel);

    List getListByBrandAndOriginCarclassAndCarModels(String brand, String origin, String carclass, String carmodel);

    PageData getReturnCarList(CarService.ReturnCarParam req,String permit);

    int updateReturnCar(String stockNos,String operator);

    int update库存表log(String stockNos,String operator);

     int insertReturn(String stockNos);

    List<Map<String,Object>> getQuotationByStockNumber(String stockNumber);

    ResultData getLogisticsStatus();

    /**
     * 获取当前用户关联品牌
     * @param userName
     * @return
     */
    public List<String> getAvailableVehicleBrands(String userName);
}
